//package com.utils.fetch;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import java.util.Random;
//
//import com.utils.httpclient.HttpClientGet;
//import org.joda.time.DateTime;
//import org.jsoup.Jsoup;
//import org.jsoup.nodes.Document;
//import org.jsoup.nodes.Element;
//import org.jsoup.select.Elements;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import com.google.common.collect.Maps;
//import com.kyhd.novel.dao.FictionRepository;
//import com.kyhd.novel.dao.model.Fiction;
//import com.kyhd.novel.util.HttpClientGet;
//
//import lombok.extern.slf4j.Slf4j;
//
//
//@Slf4j
//@Service
//public class FetchFictionContent3 {
//
//	@Autowired
//	FictionService fictionService;
//	@Autowired
//	FictionRepository fictionRepository;
//	@Autowired
//	OSSService OSSService;
//	@Autowired
//	NovelService novelService;
//
//	private static String encode = "gbk";
//	private static String qhCookie = "Hm_lvt_72de2fe44446ac8031a358c2e70933ae=1539334880,1540783040; PHPSESSID=d5738384b90f377aa1c17f066fa87fe7; Hm_lpvt_72de2fe44446ac8031a358c2e70933ae=1540807388";
//	private static String domainUrl = "https://www.qihaoqihao.com";
//
//	private static boolean database = false;
//	//循环排行榜，解析出每篇文章的url       √
//
//	//点击进去，获得封面  书名 分类 作者 写作状态 最后更新 时间 （最后一章的更新时间）   全文阅读的url   然后入库 √
//
//	//点击全文阅读    获取文章目录列表url  以及章节总数   √
//		//入库书名之前，判断书名存在且是完本,章节不足的，则不抓    √
//		//如果书名不存在则直接走主流程 √
//		//如果书名存在且是连载的话  获取库里保存的总章节以及最后一章的标题 √
//		//如果库里是连载，网站是完结 并且 总章节和最后章节名相同，则更新库为完结√
//		//如果库里是连载，且总章节数小于网站总章节数，则更新最新章节到库里 ，（直接根据我们保存的章节数来算）  √
//		//获取内容后存库，如果没有则直接跳过这一本小说      √
//
//	//点击url  获取文本内容  存库   字数  章节url 写作进度    √
//		//将&nbsp;&nbsp;&nbsp;&nbsp;替换成<br />  √
//		//&nbsp;&nbsp;&nbsp;&nbsp;[全本小说网手机版 m.qihaon.com]</dd> 替换掉  √
//
//	public static void main(String[] args) {
//		FetchFictionContent3 ffc = new FetchFictionContent3();
////		String chapterUrl = "http://www.qihaon.com/read/118251_36240877.html";
////		System.out.println(ffc.getPageUrl(chapterUrl));
//		String url = "/dsadasd/dad/";
//		if(url.endsWith("/")) url = url.substring(0,url.lastIndexOf("/")); // http://m.qihaon.com/read/21885
//		System.out.println(url);
//
//		String contentHTML= ffc.parseQHContent("https://www.qihaoqihao.com/0/124/20008.html", 1, false, "02 爽不爽.", "乡野欲潮：绝色村嫂的泛滥春情", 1L, 2, (short)1, 1, "2018-09-18", "");
//
//	}
//
//
//	--------------------------------抓取list------------------------------------------
//
///**
//	 * 抓取入口,单本书
//	 */
//	public void fetchFictionOne(boolean database,int idnum, int id, String title) {
//		this.database = database;
//		Map<String, String> imageMap = new HashMap<>();
//		imageMap.put("https://www.qihaoqihao.com/"+idnum+"/"+id+"/", title);
//		parseQHReadURL(imageMap);
//		log.info("抓取的<小说>条数："+imageMap.size());
//		for (String key : imageMap.keySet()) {
//			log.info(key+","+imageMap.get(key));
//		}
//	}
//
//
///**
//	 * 抓取入口,分类列表抓取
//	 */
//	public void fetchFictionList(boolean database, String list, int spage, int epage) {
//		this.database = database;
//		Map<String, String> imageMap = new HashMap<>();
//		qihaoImageList(imageMap, list, spage, epage);
//		log.info("抓取的<小说>条数："+imageMap.size());
//		for (String key : imageMap.keySet()) {
//			log.info(key+","+imageMap.get(key));
//		}
//	}
//
//
///**
//	 * 抓取入口,数据库小说更新
//	 */
//	public void fetchFictionUpdate(boolean database) {
//		this.database = database;
//
//		List<Fiction> fs = this.fictionService.getByAll();
//		if(fs!=null&&fs.size()>0) {
//			for (int i = 0; i < fs.size(); i++) {
//				String bookUrl = fs.get(i).getSourceUrl();
//				if(bookUrl!=null&&bookUrl.contains(domainUrl)&&bookUrl.contains("read")) {
//					bookUrl = bookUrl.replace("read", "book");
//					if(bookUrl.endsWith("/")) {
//						bookUrl = bookUrl.substring(0, bookUrl.lastIndexOf("/"));
//					}
//					bookUrl = bookUrl + ".html";
//					Map<String, String> imageMap = new HashMap<>();
//					imageMap.put(bookUrl, fs.get(i).getTitle());
//					parseQHReadURL(imageMap);
//				}
//			}
//		}
//		log.info("抓取的<小说>条数："+fs.size());
//	}
//
//
//
///**
//	 * 解析出排行榜列表URL
//	 * @param urlMap
//	 * @return allvisit
//	 */
//	private Map<String, String> qihaoImageRank(Map<String, String> urlMap,String rank, int spage, int epage) {
//		for (int i = spage; i < epage; i++) {//1211
//			try {
//				String qihaoUrl = "http://www.qihaon.com/toplist/"+rank+"_(*).html";//下书网
//				qihaoUrl = getQHContentURL(qihaoUrl, qhCookie, i);
//				String contentHTML = getQHContent(qihaoUrl, qhCookie);
//				//解析出列表url
//				urlMap = parseQHList(contentHTML, urlMap, qihaoUrl);
//				//解析出简介url->简介内容/目录->章节内容
//				parseQHReadURL(urlMap);
//			} catch (Exception e) {
//				e.printStackTrace();
//				throw e;
//			}
//		}
//		return urlMap;
//	}
//
//
///**
//	 * 解析出分类列表URL
//	 * @param urlMap
//	 * @return allvisit
//	 */
//	private Map<String, String> qihaoImageList(Map<String, String> urlMap,String list, int spage, int epage) {
//		try {
//			if(!"all".equals(list)) {
//				for (int i = spage; i < epage; i++) {//1211
//					String qihaoUrl = "https://www.qihaoqihao.com/shuku/"+list+"/allvisit-0-(*).html";//下书网
//					qihaoUrl = getQHContentURL(qihaoUrl, qhCookie, i);
//					String contentHTML = getQHContent(qihaoUrl, qhCookie);
//					//解析出列表url
//					urlMap = parseQHList(contentHTML, urlMap, qihaoUrl);
//					//解析出简介url->简介内容/目录->章节内容
//					parseQHReadURL(urlMap);
//				}
//			}else {
//				for (int j = 1; j < 9; j++) {
//					for (int i = spage; i < epage; i++) {//1211
//						String qihaoUrl = "https://www.qihaoqihao.com/shuku/"+list+"/allvisit-0-(*).html";//下书网
//						qihaoUrl = getQHContentURL(qihaoUrl, qhCookie, i);
//						String contentHTML = getQHContent(qihaoUrl, qhCookie);
//						//解析出列表url
//						urlMap = parseQHList(contentHTML, urlMap, qihaoUrl);
//						//解析出简介url->简介内容/目录->章节内容
//						parseQHReadURL(urlMap);
//					}
//				}
//			}
//		} catch (Exception e) {
//			e.printStackTrace();
//			throw e;
//		}
//		return urlMap;
//	}
//
//	private String getQHContentURL(String url, String cookie, int i) {
//		if (i == 0) return null;
//		else if (i > 0) url = url.replace("(*)", i + "");
//		log.info("url-->" + url);
//		return url;
//	}
//
//	private String getQHContent(String url,String cookie) {
//		HttpClientGet.createDefaultHttpClient();
//		Map<String, String> header = new HashMap<>();
//		header.put("Cookie",cookie);
//		HttpClientGet.setHeader(header);
//		String contentHTML = HttpClientGet.sendHttpGet(url,encode);
//		if(contentHTML==null||"".equals(contentHTML.trim())) {
//			for (int j = 1; j < 3; j++) {
//				log.info(url+"，重试第"+j+"次");
//				HttpClientGet.createDefaultHttpClient();
//				HttpClientGet.setHeader(header);
//				contentHTML = HttpClientGet.sendHttpGet(url,encode);
//				if(contentHTML!=null&&!"".equals(contentHTML.trim())) {
//					return contentHTML;
//				}
//			}
//		}
//		return contentHTML;
//	}
//
//
///**
//	 * 解析列表页的100条url
//	 * @param contentHTML
//	 * @param imageMap
//	 * @param sourceUrl
//	 * @return
//	 */
//	private Map<String, String> parseQHList(String contentHTML,Map<String, String> urlMap, String sourceUrl) {
//		if(contentHTML==null||"".equals(contentHTML)) return urlMap;
//		Document doc = Jsoup.parse(contentHTML);
//		Elements authorHtml = doc.select("div[class=col-md-5 col-sm-4 col-xs-9 text-overflow]");
//		for (Element element : authorHtml) {
//			String urlElements = element.outerHtml();
//			Document udoc = Jsoup.parse(urlElements);
//			Elements urlElement = udoc.select("a[href]");
//			String title = urlElement.get(0).text();
//			String url = urlElement.attr("href");
//			if(!urlElement.attr("href").contains(domainUrl)) {
//				url = domainUrl + url;
//			}
//			if(!"http://www.qihaon.com/book/117272.html".equals(url)) {
//				continue;
//			}
//			urlMap.put(url, title);
//			if(!database) {
//				return urlMap;
//			}
//		}
//		return urlMap;
//	}
//
//
///**
//	 * 解析出书籍简介的URL
//	 * @param contentHTML
//	 * @param imageMap
//	 * @param sourceUrl
//	 * @return
//	 */
//	private Map<String, String> parseQHReadURL(Map<String, String> urlMap) {
//		for (String url : urlMap.keySet()) {
//			//获取文章简介的URL
////			String URLHTML= getQHContent(url, qhCookie);
////			if(URLHTML==null||"".equals(URLHTML)) return urlMap;
////			Document doc = Jsoup.parse(URLHTML);
////			Elements URLHtml = doc.select("a[class=read]");
////			String URL = URLHtml.attr("href");//文章简介的URL
////
////			Elements tableHTML = doc.select("table[id=at]");
////			String tableHtml = tableHTML.html();
////			Document tabledoc = Jsoup.parse(tableHtml);
////			String speedHTML = tabledoc.text();
//			int speed = 1;
////			if(!speedHTML.contains("连载")) speed = 2;
//
//			//解析出文章简介，目录LIST->存库->章节内容->存库
//			String summaryHTML = getQHContent(url, qhCookie);
//			parseQHSummary(summaryHTML, speed);
//		}
//		return urlMap;
//	}
//
///**
//	 * 解析出书籍简介的内容,存库
//	 * @param contentHTML
//	 * @param imageMap
//	 * @return
//	 */
//	private Map<String, String> parseQHSummary(String summaryHTML, int speed) {
//		Map<String, String> listMap = Maps.newHashMap();
//		if(summaryHTML==null||"".equals(summaryHTML)) return listMap;
//		Document doc = Jsoup.parse(summaryHTML);
//		//<!--必填-->
//		Elements titleHtml = doc.select("meta[property=og:title]");//书名
//		Elements summaryHtml = doc.select("meta[property=og:description]");//简介
//		Elements coverHtml = doc.select("meta[property=og:image]");//封面
//		Elements categoryHTML = doc.select("meta[property=og:novel:category]");//分类
//		Elements authorHtml = doc.select("meta[property=og:novel:author]");//作者
//		Elements urlHtml = doc.select("meta[property=og:novel:read_url]");//文章URL http://m.qihaon.com/read/21885/
//		//<!--选填-->
////		Elements speedHtml = doc.select("meta[property=og:novel:status]");//连载状态  不准确
////		Elements updatetimeHtml = doc.select("meta[property=og:novel:update_time]");//更新时间
////		Elements lastChapterHtml = doc.select("meta[property=og:novel:latest_chapter_name]");//最后章节名称
////		Elements lasturlHtml = doc.select("meta[property=og:novel:latest_chapter_url]");//最后章节URL
//
//		String title = titleHtml.attr("content");
//		String summary = summaryHtml.attr("content").replace("/p<", "");
//		if(summary==null||summary.length()==0) {
//			summary = title;
//		}
//		if(summary.length()>400) {
//			summary = summary.substring(0, 200);
//		}
//		String cover = coverHtml.attr("content");
//		String category = categoryHTML.attr("content");
//		String author = authorHtml.attr("content");
//		String url = urlHtml.attr("content");
//
////		String speedString = speedHtml.attr("content");
//		String updatetime = DateTime.now().toString("yyyy-MM-dd");//updatetimeHtml.attr("content");
//		if(updatetime==null||"".equals(updatetime)) {
//			updatetime = DateTime.now().toString("yyyy-MM-dd HH:mm:ss");
//		}
////		String lastChapter = lastChapterHtml.attr("content");
////		String lasturl = lasturlHtml.attr("content");
//
//		short sex = 1;//getSex(category);
////		if(title.contains("乡村")) {
//			category = "乡村爱情";
////		}
//		String newCategory = getCategory(category);
//		long parentid = 0;
//
//		//校验书名存在且已是完结，不解析
//		Fiction existFic = null;
//		if(database) {
//			existFic = this.fictionService.getByTitle(title);
//		}
//
//		if(existFic==null) {
//			//存库操作
//			String a = url;
//			if(url.endsWith("/")) a = url.substring(0,url.lastIndexOf("/")); // http://m.qihaon.com/read/21885
//			String sourceId = a.substring(a.lastIndexOf("/")+1,a.length());// 21885
//
//			String myCoverimageUrl = "";
////			if(cover.contains("/image/0/")) { //http://www.qihaon.com/files/article/image/0/2/2s.jpg
////				myCoverimageUrl = "";
////			}else {
//				if(database) {
//					myCoverimageUrl = this.OSSService.uploadImageURL(cover,sourceId+"",false,"novel","fiction");
//				}
////			}
//			if(myCoverimageUrl==null||"".equals(myCoverimageUrl)) {
//				myCoverimageUrl = "toutiao/picture/fiction/defaultcover.jpg";
//			}
//			log.info("author:{}, title:{}, myCoverimageUrl:{}, newCategory:{}, summary:{}, sex:{}, speed:{}, url:{}",
//					author, title, myCoverimageUrl, newCategory, summary, sex, speed, url);
//			Fiction fic = new Fiction();
//			if(database) {
//				fic = this.fictionService.saveTitle(author, title, myCoverimageUrl, newCategory, summary, 0L, 0, sex, speed, url);
//			}
//			parentid = fic.getId();
//		}else {
//			parentid = existFic.getId();
//		}
//
//		//解析出目录List
//		Elements listDivElements = doc.select("div[class=panel panel-default hidden-xs]");
//		String listDivHTML = listDivElements.outerHtml();
//		Document listDivdoc = Jsoup.parse(listDivHTML);
//		Elements listTableElements = listDivdoc.select("dl[class=panel-body panel-chapterlist]");
//		String listHTML = listTableElements.outerHtml();
//		Document listdoc = Jsoup.parse(listHTML);
//		Elements listElements = listdoc.select("a[href]");
//
//		int chapterAll = 1;
//		chapterAll = listElements.size();
////		if(chapterAll<100) {
////			return listMap;
////		}
//		if(database) {
//			if(existFic!=null) {
//				//如果书名存在且是连载的话  获取库里保存的总章节以及最后一章的标题 √
//				int myChapterNum = 0;
//				String myLastChapterName = null;
////					String mySourceUrl = null;
//				Object chapterSumObj = this.fictionRepository.getChapterSum(existFic.getId());
//				if(chapterSumObj!=null) {
//					myChapterNum = Integer.parseInt(chapterSumObj.toString());
//				}
//				Fiction lastFic = this.fictionRepository.getLastChapterById(existFic.getId());
//				if(lastFic!=null) {
//					myLastChapterName = lastFic.getSubtitle();
//				}
////					mySourceUrl = lastFic.getSourceUrl();
//
//				if(existFic.getState()==1) {
//					if(speed==2) {  //如果库里是连载，网站是完结 并且 总章节和最后章节名相同，则更新库为完结 √
//						if(myChapterNum==listElements.size()&&myLastChapterName.equals(listElements.get(listElements.size()-1).text())) {
//							this.fictionRepository.updateSetParentidState(2, existFic.getId());
//							return listMap;
//						}
//					}
//					//如果库里是连载，且总章节数小于网站总章节数，则更新最新章节到库里 √
//					if (myChapterNum < listElements.size()) {
//						for (int i = myChapterNum; i < chapterAll; i++) {
//							String chapterName = listElements.get(i).text();
//							String chapterUrl = listElements.get(i).attr("href");
//
//							parseQHContent(chapterUrl, 1, false, chapterName, title, parentid, i+1, sex, speed, updatetime, "");
//						}
//					}
//				}else {
//					if(myChapterNum<listElements.size()) {
//						for (int i = myChapterNum; i < chapterAll; i++) {
//							String chapterName = listElements.get(i).text();
//							String chapterUrl = listElements.get(i).attr("href");
//
//							parseQHContent(chapterUrl, 1, false, chapterName,title,parentid,i+1,sex,speed,updatetime, "");
//						}
//					}else {//入库书名之前，判断书名存在且是完本,章节相等的，则不抓    √
//						return listMap;
//					}
//				}
//			}
//		}
//
//		//解析出章节内容,存库
//		if(existFic==null) {
//			for (int i = 0; i < chapterAll; i++) {
//				String chapterName = listElements.get(i).text();
//				String chapterUrl = listElements.get(i).attr("href");
//
//				parseQHContent(chapterUrl, 1, false, chapterName,title,parentid,i+1,sex,speed,updatetime, "");
//			}
//		}
//
//		return listMap;
//	}
//
//
///**
//	 * 根据上一页的url获取正确的下一页的url
//	 * @param lastPageUrl  "http://www.qihaon.com/read/117272_35743636.html"
//	 * @return
//	 */
//	public String getPageUrl(String lastChapterUrl) {
//		String contentHTML= this.getQHContent(lastChapterUrl, qhCookie);
//		Document doc = Jsoup.parse(contentHTML);
//		Elements contentHtml = doc.select("h3");//标题
//		Document docNext = Jsoup.parse(contentHtml.html());
//		Elements nextHtml = docNext.select("a[href]");//上一页  标题  下一页
//		String nextPageUrl = nextHtml.get(2).attr("href"); //下一页
//		if(!nextPageUrl.contains(domainUrl)) {
//			nextPageUrl = domainUrl+nextPageUrl;
//		}
//		return nextPageUrl;
//	}
//
//
//
///**
//	 * 解析出章节内容,存库
//	 * @param listMap
//	 * @return
//	 */
//	private String parseQHContent(String chapterUrl, int page, boolean isSave, String chapterName,
//			String title, long parentid, int chapter, short sex, int speed, String updateTime, String content) {
//		String newChapterUrl = chapterUrl;
//		if(page>1) {
//			newChapterUrl = newChapterUrl.replace(".html", "");
//			newChapterUrl = newChapterUrl+"_"+page+".html";
//		}
//		log.info("chapterUrl:{},page:{},isSave:{},chapterName:{},title:{},parentid:{},chapter:{},sex:{},speed:{},updateTime:{}",
//				newChapterUrl,page,isSave,chapterName,title,parentid,chapter,sex,speed,updateTime);
//
//		String contentHTML= getQHContent(newChapterUrl, qhCookie);
//
//		if(contentHTML!=null&&!"".equals(contentHTML)) {
//			Document doc = Jsoup.parse(contentHTML);
//			Elements contentHtml = doc.select("div[id=htmlContent]");//章节内容
//			Elements isPartHtml = doc.select("p[class=text-danger text-center fs-16]");//是否是下一页
////			System.out.println(isPartHtml.text());
//
//			String partContent = contentHtml.html();//是html
////		String content = contentHtml.text();//txt 不保留任何html标签
//			partContent = partContent.replace("一秒记住，更新快，无弹窗，免费读！", "").
//					replace("【启皓网 www.qihaoqihao.com】", "").
//					replace("&nbsp;&nbsp;&nbsp;&nbsp;", "<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;").
//					replace("<script>_js_dj();</script>", "").
//					replace("leduwo.&nbsp;&nbsp;&nbsp;&nbsp;&amp;l;/r&amp;g;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&amp;l;/ble&amp;g;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&amp;l;r&amp;g;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&amp;l;d&amp;g;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&amp;l;dv d=&amp;quo;conen&amp;quo; nme=&amp;quo;conen&amp;quo; syle=&amp;quo;lne-hegh: 190%; color: rgb(0, 0, 0); &amp;quo;&amp;g;", "").
//					replace("&amp;l;/dv&amp;g;leduwo.", "").
//					replace("<br>", "")
//					.replace("�", "");
//
//			content = content + partContent;
//
//			if(isPartHtml.text()!=null&&!"".equals(isPartHtml.text())&&isPartHtml.text().contains("下一页")) {
//				//如果本章未完，则继续解析
//				page = page+1;
//				parseQHContent(chapterUrl, page, false, chapterName,title,parentid,chapter,sex,speed,updateTime, content);
//			}else {
//				isSave = true;
//			}
//		}else {
//			isSave = true;
//		}
//		if(database&&isSave&&content!=null&&!"".equals(content)) {
//			this.fictionService.saveContent(title, parentid, chapter, chapterName, content, sex, updateTime,speed,chapterUrl);
//		}
//		return content;
//	}
//
//
//
///**
//	 * 获取性别
//	 * @param category
//	 * @return
//	 */
//	public static short getSex(String category) {
//		if(category.contains("女")) {
//			return 2;
//		}else {
//			return 1;
//		}
//	}
//
//
///**
//	 * 获取分类
//	 * @param category
//	 * @return
//	 */
//	public static String getCategory(String category) {
//		String newChannel = "dssh";
//		switch(category) {
//			case "女生小说" : newChannel = getWomenCategory(category); break;
//			case "玄幻魔法" : newChannel = "xhmf"; break; //玄幻魔法	玄幻仙侠xhxx
//			case "武侠修真" : newChannel = "xxwx"; break; //仙侠武侠	玄幻仙侠xhxx
//			case "都市言情" : newChannel = "dssh"; break; //都市生活	都市生活
//			case "历史军事" : newChannel = "lsjs"; break; //历史军事	历史军事
//			case "侦探推理" : newChannel = "lyxy"; break; //灵异悬疑	灵异悬疑
//			case "网游动漫" : newChannel = "wydm"; break; //网游动漫	游戏科幻yxkh
//			case "科幻小说" : newChannel = "khwl"; break; //科幻未来	游戏科幻yxkh
//			case "恐怖灵异" : newChannel = "lyxy"; break; //灵异悬疑	灵异悬疑
//			case "乡村爱情" : newChannel = "xcaq"; break; //乡村爱情	乡村爱情xcaq
//			default: newChannel = "dssh"; break;
//		}
//		return newChannel;
//	}
//
//	public static String getWomenCategory(String category) {
//		String newChannel = "lmyq";
//		int a = new Random().nextInt(4)+1;
//		switch(a) {
//			case 1 : newChannel = "lmyq"; break; //浪漫言情
//			case 2 : newChannel = "xxqy"; break; //仙侠奇缘
//			case 3 : newChannel = "hmzc"; break; //豪门总裁
//			case 4 : newChannel = "dmtr"; break; //耽美同人
//			default: newChannel = "lmyq"; break;
//		}
//		return newChannel;
//	}
//
//
//	//解析出章节内容,存库
///*	if(existFic==null) {
//		for (int i = 0; i < chapterAll; i++) {
//			String chapterName = listElements.get(i).text();
//			String chapterUrl = listElements.get(i).attr("href");
//			String nextChapterUrl  = null;
//			if(i+1<chapterAll) {
//				nextChapterUrl = listElements.get(i+1).attr("href");
//			}
//			if(nextChapterUrl!=null&&chapterUrl.equals(nextChapterUrl)) {
//				String beforeUrl = chapterUrl;
//				String prefix = beforeUrl.substring(0,beforeUrl.lastIndexOf("/")); // http://www.qihaon.com/read
//				String suffix = beforeUrl.substring(beforeUrl.lastIndexOf("/")+1,beforeUrl.length()); // 118251_36240877.html
//				String source = suffix.substring(0,suffix.indexOf("_")); //36240877.html
//				int before = Integer.parseInt(suffix.substring(suffix.lastIndexOf("_")+1, suffix.lastIndexOf(".")));//36240877
//				chapterUrl = prefix+"/"+source+"_"+(before-1)+".html";
////				log.info("----->chapterUrl"+chapterUrl);
//			}
//
//			parseQHContent(chapterUrl,chapterName,title,parentid,i+1,sex,speed,updatetime);
//		}
//	}*/
//}
//
